package com.kuangjia.student_ems.service;

import com.kuangjia.student_ems.dto.PositionDTO;
import com.kuangjia.student_ems.dto.request.PositionRequest;
import com.kuangjia.student_ems.entity.Position;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;

public interface PositionService {
    
    PositionDTO createPosition(PositionRequest request);
    
    PositionDTO updatePosition(Long id, PositionRequest request);
    
    void deletePosition(Long id);
    
    PositionDTO getPositionById(Long id);
    
    List<PositionDTO> getAllPositions();
    
    List<PositionDTO> getPositionsByDepartment(Long departmentId);
    
    List<PositionDTO> getActivePositions();
    
    List<PositionDTO> getActivePositionsByDepartment(Long departmentId);
    
    PositionDTO togglePositionStatus(Long id);
    
    List<PositionDTO> searchPositions(String keyword);
    
    IPage<PositionDTO> getPositionPage(Page<Position> page, String keyword);
} 